<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客详情页</title>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/blog_detail.css">

    <!-- 引入editor.md的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css">
    <script src="js/jquery.min.js"></script>
    <script src="editor.md/lib/marked.min.js"></script>
    <script src="editor.md/lib/prettify.min.js"></script>
    <script src="editor.md/editormd.js"></script>
</head>
<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="image/云朵.jpg" alt="">
        <span>我的博客系统</span>
        <!-- 空白元素用来占位置 -->
        <div class="spacer"></div>
        <a href="blog_list.html">主页</a>
        <a href="blog_edit.html">写博客</a>
        <a href="logout">注销</a>

    </div>
    <!--这里的.container作为页面的版心-->
    <div class="container">
        <!-- 左侧个人信息 -->
        <div class="left">
            <!-- 表示整个用户信息区 -->
            <div class="card">
                <img src="image/头像.jpg" alt="">
                <h3></h3>
                <a href="#">github 地址</a>
                <div class="counter">
                    <span>文章</span>
                    <span>分类</span>
                </div>
                <div class="counter">
                    <span>2</span>
                    <span>1</span>
                </div>
            </div>
        </div>
        <!-- 右侧内容详情 -->
        <div class="right">
            <!-- 使用这个div来包裹整个博客的内容详情 -->
           <div class="blog-content">
               <!-- 博客标题 -->
                <h3></h3>
                <!-- 博客的时间 -->
                <div class="date"></div>
                <!-- 博客的正文内容 -->
                <div id="content">

                </div>
           </div>
        </div>
    </div>


    
    <script>
        function getBlogDetail(){
            $.ajax({
                type:'get',
                //通过location.search拿到形如'?blogId=5'这样的一段内容
                url:'blog'+location.search,
                success:function(body){
                    //根据body中的内容来构造页面
                    //1、构造博客标题
                    let h3=document.querySelector(".blog-content>h3");
                    h3.innerHTML=body.title;
                    //2、构造博客发布时间
                    let dateDiv=document.querySelector('.date');
                    dateDiv.innerHTML=body.postTime;
                    //3、构造博客正文
                    //如果直接把content设为innerHTML，此时展示在界面上的内容，是原始的markdown字符串
                    //但是需要的是渲染后的，带有格式的效果
                    //let content=document.querySelector('#content');
                    //content.innerHTML=body.content;

                    //第一个参数对应 id=content 的html标签，渲染后得到的html片段就会被放到这个标签下
                    editormd.markdownToHTML('content',{
                        markdown:body.content
                    });
                }
            });
        }
        getBlogDetail();

        

        

        //加上一个逻辑,通过 GET/login 这个接口来获取下当前的目录状态
        function getUserInfo(pageName){
            $.ajax({
                type:'get',
                url:'login',
                success:function(body){
                    //判定此处的body是不是一个有效的user对象(userId是否非0)
                    if(body.userId&&body.userId>0){
                        //登录成功!
                        //不做处理!
                        console.log("当前用户登录成功!用户名:"+body.username);
                    
                        //在getUserInfo的回调函数中,来调用获取作者信息
                        getAuthorInfo(body);
                    }else{
                        //登陆失败!
                        //让前端页面,跳转到login.html
                        alert("当前您尚未登录!请登录后再访问博客列表!");
                        location.assign('blog_login.html');
                    }
                },
                error: function(){
                    alert("当前您尚未登陆!请登录后再访问博客列表!");
                    location.assign('blog_login.html');
                }
            });
        }

        function changeUserName(username){
            let h3=document.querySelector('.card>h3');
            h3.innerHTML=username;
        }


        //判定用户登录状态
        getUserInfo("blog_detail.html"); 
        
        //从服务器获取一下当前博客的作者信息,并显示到界面上
        //参数user就是刚才从服务器拿到的当前登录用户的信息
        function getAuthorInfo(user){
            $.ajax({
                type:'get',
                url:'authorInfo'+location.search,
                success:function(body){
                    //此处的body,就是服务器返回的User对象,是文章的作者信息
                    if(body.username){
                        //如果响应中的username存在,就把这个值设置到页面上
                        changeUserName(body.username);

                        if(body.username==user.username){
                            //作者和登录的用户是一个人,则显示"删除按钮"
                            let navDiv=document.querySelector('.nav');
                            let a=document.createElement('a');
                            a.innerHTML='删除';
                            //期望点击删除,构造一个形如blogDelete?blogId=6这样的请求
                            a.href='blogDelete'+location.search;
                            navDiv.appendChild(a);
                        }
                    }else{
                        console.log("获取作者信息失败!"+body.reason);
                    }
                }
            });
        }
        
    </script>
</body>
</html>
